Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General | Off-site
[ :: Read More :: ]

The zombies are trying to eat your brain! Grow a plant infantry to stop them!
(Warning: not very mobile-friendly!)

Cart #fsgupicozombiegarden121-0 | 2021-04-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
296

A demake of the first world of the original Plants vs. Zombies.
10 levels, 8 different plants, 5 different zombies, 3 complete songs!
I couldn't fit the two mini-games on it, sadly.

My buddy @Gimbernau and I gave ourselves 30 days to do this entire thing, and what a ride it was. Because of the token limit, I decided not to put instructions inside the game, so there's a "How to play" section down below.

I hope you enjoy! If you have some thoughts about the game or if you find any bugs, please leave a comment in the comment section :)

PS.: There is another version of PvZ here in the forum! It's an endless reinplementation made by @gfcarstensen that is super fun! Check it out here: https://www.lexaloffle.com/bbs/?pid=51588#p

How to Play and Plant Stats

Zombies are coming!
Don't let them get to the end of your lawn.
Stop them by planting some seeds! And if they do get there, there's a lawnmower to stop them on their first attempt.

Gather sun by left-clicking on them.
Use your sun to buy plants!

Left-click on the plant you want to buy and then left-click once again (don't drag and drop!) on a tile to drop your plant. Right-click if you want to de-select your plant.
Each plant has a different power to help you crush the zombies. And everyday you get through, you get a new plant!

If you have your shovel unlocked, you can use it to dig plants off your lawn and free up some space! Left-click on your shovel and left-click again on the tile you want to dig. Right click to de-select the shovel.

The Plants:

Peashooter

Your first plant. Shoots peas at zombies that are on its lane.
Fast recharge

Sunflower

Produces additional sun every 24 seconds.
Fast recharge

Cherry Bomb

Explodes a second after it is planted. Kills any zombies in a 3x3 area centered on it.
Very slow recharge

Wall-nut

What a team player! Serves as a living shield, absorbing an enormous amount of damage.
Slow recharge

Potato Mine

Takes 15 seconds to set up. Once ready, explodes and kills a zombie on contact.
Slow recharge

Snowpea

Shoots freezing peas that also do damage. If a zombie is frozen, its velocity and damage are halved.
Fast recharge

Chomper

Eats an incoming zombie right away, but spends 42 seconds chewing. Rotten flesh isn't a joke...
Fast recharge

Repeater

Shoots regular peas, but twice as fast!
Fast recharge

Credits

  • Original game by Popcap Games
  • "Crazy Dave", "Grasswalk" and "Zombies on Your Lawn" are a part of the PvZ soundtrack, made by Laura Shigihara
  • "Lower" prices inspired by @gfcarstensen 's "Endless Plants vs. Zombies"
  • Collision check function by OSM Studios
  • Sprite outline function (modified in-game for sprites of any size) by @Liquidream
  • Print outline function by @24appnet
  • Menu screen inspired by @krajzeg 's "Low Knight"
  • Sorting functions (modified in-game for sorting zombies by lane) by Rik Cross
  • UI inspired by @Krystman 's "Mai-Chan's Sweet Buns"
  • Logo font design by Mortmort

    Code and interfaces by @FlyingSmog
    Art and design by @Gimbernau

    Thanks to all these beautiful people for the inspiration and the knowledge. And a big shoutout to Popcap Games for this masterpiece.

    Me and @Gimbernau are in no way related to or endorsed by Popcap Games or EA Games. This is just a fan homage :)

P#89823 2021-04-01 18:14 ( Edited 2021-04-02 00:02)
[ :: Read More :: ]

Cart #voxelspace-0 | 2021-04-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

Came across this fun little algorithm today, thought I'd try it out.

Left and right rotate the camera, up moves forward.

Some serious artifacts going on still, but I'm fairly happy with how simple it was to implement. Had some fun generating the maps as well.

P#89824 2021-04-01 17:05 ( Edited 2021-04-01 20:18)
[ :: Read More :: ]

Hi, here's a cover of Board of Canada's Roygbiv in Pico-8 (with its new sound effects) playing over a tweetcart synced to the music. Because, well, I love BoC and Pico-8 :). Also playing in pattern mode on YouTube where you may also enjoy the original music.
You can play the tweetcart along your own Pico-8 music and it'll sync to it as well. Or it'll play at its own pace if there' no music.
Hope you'll enjoy.

Cart #boc_roygbiv-0 | 2021-04-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
68

P#89822 2021-04-01 16:26 ( Edited 2021-04-01 16:30)
[ :: Read More :: ]

Cart #roundelieadventure2-2 | 2021-05-05 | Code ▽ | Embed ▽ | No License
16

P#89815 2021-04-01 08:06 ( Edited 2021-05-05 21:05)
[ :: Read More :: ]

Cart #three_d_space_sim-0 | 2021-04-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

full 3d space flight simulator in PICO-8

controls

roll - x/c
pitch - up/down (not inverted)
yaw - left/right

unfortunately the area you can explore is not very big in v1.0 and you can continue to fly out of bounds. Once you reach the edge of the stars, just turn around.

go on to explore the stars!

P#89814 2021-04-01 07:42 ( Edited 2021-04-01 07:45)
[ :: Read More :: ]

Cart #space_sim-0 | 2021-04-01 | Embed ▽ | License: CC4-BY-NC-SA
5

V1.0 controls:

roll - z/x
pitch - up/down
yaw - left/right

P#89811 2021-04-01 07:32
[ :: Read More :: ]

Is it possible to trigger a glitch reset from code, like CTRL+R looks? I know there are code snippets that do small pokes to memory, but I was wondering if there's a way to make it closer to (or exactly!) like how CTRL+R.

Thanks!

P#89789 2021-03-31 19:35 ( Edited 2021-03-31 19:35)
[ :: Read More :: ]

Help Toby play "The Floor is LAVA"

Cart #the_floor_is_lava-1 | 2021-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

P#89771 2021-03-31 06:22 ( Edited 2021-03-31 06:28)
[ :: Read More :: ]

Cart #cargobot-0 | 2021-03-30 | Code ▽ | Embed ▽ | No License
10

Here is my Pico-8 version of Cargobot. It was an iPad game from 2012 developed on an Ipad.

Cargobot is a puzzle game where the player commands a robot to sort crates.
If you stock the crates too high the robot will crash.
The robot will also crash into the side of the wall when the incorrect instructions are given.

There are 7 categories (tutorials, easy, medium, hard, crazy, impossible, bonus) with 40 levels in total.

Each level can be solved in many ways.
The goal is to earn 3 stars for each level by solving the level in as few registers as possible.

The earned stars are saved in cdata.
The progress made per level (implemented actions, conditions) is saved in cstore.

The speed of the robot can be configured in the menu. Where you also can find a hint per level.

If you find a solution with less registers as indicated in the level select screen, you can always post a screenshot here.

Have fun!

P#89768 2021-03-30 22:56 ( Edited 2021-03-30 23:09)
[ :: Read More :: ]

I've lately been working with image compression routines which output strings, and I've been able to increase efficiency and versatility by using as wide a range of characters to store data as possible. I've grown a bit frustrated at times, though, because any strings which use Puny font characters don't show up correctly unless I go into Puny Font mode. There have been a number of times I couldn't get things to work, and spent time debugging my code, only to realize that the problem was that I forgot to press Ctrl+P.

I know it's not a big issue, and it can be worked around, but it's kind of inconsistent how strings can be created with Puny characters at any time, but you have to enter a certain mode to view the output correctly. Is it possible this could be changed without breaking some other feature? I mean, is there any way to let the program know that a string has been created by Pico-8 and therefore display it as intended?

P#89758 2021-03-30 17:16 ( Edited 2021-05-12 02:36)
[ :: Read More :: ]
P#89749 2021-03-30 14:21
[ :: Read More :: ]

Cart #pico8logofont-0 | 2021-03-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
18

This font is inspired by the font that's used on the PICO-8 booting screen. Most characters below 128 have been changed while most wide characters remain unchanged.

P#66389 2021-03-30 13:20
[ :: Read More :: ]

Cart #ritokembo-0 | 2021-03-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

The decoration feature of PICO-8 v0.2.2 could also be useful to also draw dakuten / handakuten marks above the kana characters, rather than to the side of them, but sadly, since the current syntax only allows them to be shifted horizontally between -2 and 1 pixels.

Maybe it's worth it to adjust the "\v" character syntax so that it works differently after wide characters, or add a different one where the horizontal shifts use 3 bits instead of 2 (and allow for horizontal adjustments between -4 and 3 pixels?).

P#89742 2021-03-30 07:49
[ :: Read More :: ]

Cart #rainbow_paint-0 | 2021-03-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

click to draw, right-click to erase
use X to erase on mobile

P#89730 2021-03-29 21:46 ( Edited 2021-03-29 21:46)
[ :: Read More :: ]

A little demo of a water sprite, inspired heavily by 7DRL game A Root Path. I wanted to see if I can replicate the art style and add some little glowy lightning effects to it.

Cart #water_sprite_demo-0 | 2021-03-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

P#89729 2021-03-29 20:48
[ :: Read More :: ]

Cart #ballphysics-0 | 2021-03-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Messing around with some collision detection. Up and down modify gravity, left and right push the ball in the corresponding direction.

Code is a mess, read at your own risk. Currently only handles static obstacles -- shouldn't be too hard to add once you know the contact point but didn't really feel the need, I've already had my fun with it :)

P#89727 2021-03-29 20:13
[ :: Read More :: ]

Cart #dijasenay-0 | 2021-03-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

P#89703 2021-03-28 18:25
[ :: Read More :: ]

Cart #artorius-1 | 2021-04-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

I made this game for a weeklong jam where the theme was "Spinning," and I'm really happy with how it turned out. It's a short bullet hell that forces you to get a little closer to the enemies than games in this genre typically do! Mastering the sword might take some time, but once you start to get a feel for the movement it's fun to play around with (imho, of course). Let me know what you think! Any feedback is welcome.

You'll have to forgive the programmer art, it's the best I can do on my own unfortunately. This was also my first time making music of any kind, and I decided to remix a song called "Jack of all Trades" by CaseJackal. You should definitely check out the original! It has a lot more depth than my 1-minute loop :P

Edit 2021-04-13: Updated with Postjam build

P#89701 2021-03-28 18:10 ( Edited 2021-04-14 01:43)
[ :: Read More :: ]

Cart #eleni_foot_bag-0 | 2021-03-28 | Code ▽ | Embed ▽ | No License
5

Here is my second game on PICO-8: Eleni Foot Bag. Inspired by California Games, a game I played in my childhood on the Sega Master System, and in particular the foot bag mini-game, I'm testing myself on recreating this one, with personalized graphics and sounds.

Controls:

  • ⬅️ and ➡️ to move Eleni,
  • ❎ for using the foot and the knee,
  • ⬅️ + ❎ for using the right heel,
  • ➡️ + ❎ for using the left heel,
  • 🅾️ for jumping (for using the head).

Each bodypart that shoots the ball gains:

  • 1 point for the foot or for the knee,
  • 2 points for the right heel or for the left heel,
  • 3 points for the head.

If your combo is a multiple of 10 when you shoot, the points are doubled.

If you shoot the pigeon, you earn 8 points.

I wish you good scores and good game.

P#89698 2021-03-28 17:17 ( Edited 2021-03-31 13:28)
[ :: Read More :: ]

Hi,

I played around with Pico-8 and wanted a fancy way to build and run
custom cart when the idea came to me like the urge to go π :

I NEEDED A DEDICATED SPLORE SERVER !

One hour later it was alive

Showing custom list and loading whatever I want directly from SPLORE.
I was surprised at how simple it is to make a proxy.

First I edited "drivers\etc\hosts" but it lacked flexibility...

Then I came up with the idea of ​​replacing wininet.dll by a custom script.
That way you just put (or remove) the file near pico.exe and start it.
No user hack, no patch, no third party.

You can make your own proxy with the MASM32 code below
(I think I can share it with you because it does not disclose any flaws or infringe any copyright)
(The code of the server may be more sensitive to disclose)

Anyway, I swear that no "pico8.exe" were harmed during the making of this progam.

.386
.model flat, stdcall
option casemap :none
option Prologue:none
option Epilogue:none

include windows.inc
include user32.inc
include kernel32.inc

includelib user32.lib
includelib kernel32.lib

.data

  _Wininet           dd 0
  _InternetOpenA     dd 0
  _InternetOpenUrlA  dd 0
  _InternetReadFile  dd 0
  _sInternetOpenA    db "InternetOpenA"                  , 0
  _sInternetOpenUrlA db "InternetOpenUrlA"               , 0
  _sInternetReadFile db "InternetReadFile"               , 0
  _URL               db "http://127.0.0.1:80"            , 0 ;<=== YOUR SERVER URL HERE
  _SysDLL            db "c:\windows\system32\WININET.DLL", 0 ;<=== YOUR PATH HERE
  temp               db 260 DUP(0)                           ; GIVE IT SOME SPACE !!

.code

; MAIN DLL FUNCTION
_DllMainCRTStartup proc instance:DWORD,reason:DWORD,unused:DWORD

  ; ONLY ON PROCESS ATTACH
  mov eax, [esp+8]
  cmp eax, 1
  jne @next

  ; GET REAL "WININET.DLL"
  push offset _SysDLL
  call LoadLibraryA
  mov _Wininet, eax

  ; GET REAL "InternetOpen"
  push offset _sInternetOpenA
  push _Wininet
  call GetProcAddress
  mov _InternetOpenA, eax 

  ; GET REAL "InternetOpenUrl"
  push offset _sInternetOpenUrlA
  push _Wininet
  call GetProcAddress
  mov _InternetOpenUrlA, eax 

  ; GET REAL "InternetReadFile"
  push offset _sInternetReadFile
  push _Wininet
  call GetProcAddress
  mov _InternetReadFile, eax 

@next:
  mov eax, 1
  ret 12
_DllMainCRTStartup endp

; FAKE "InternetOpen"
InternetOpenA proc
  jmp [_InternetOpenA]
InternetOpenA endp

; FAKE "InternetReadFile"
InternetReadFile proc
  jmp [_InternetReadFile]
InternetReadFile endp

; FAKE "InternetOpenUrl"
InternetOpenUrlA proc

  ; LAZY STRING REPLACE ^^
  mov eax, [esp+8]
  add eax, 25
  push eax
  push offset _URL
  call lstrcat
  mov [esp+8], eax

  ; CALL REAL "InternetOpenUrl"
  jmp [_InternetOpenUrlA]
InternetOpenUrlA endp

end

; DEF FILE LOOK LIKE =>
;LIBRARY WININET
;EXPORTS 
;
;InternetOpenA     @1
;InternetOpenUrlA  @2
;InternetReadFile  @3

Unfortunately while the dedicated server works perfectly, the SPLORE internal cache ttl make it useless for its original purpose (eg:dynamic build and run).

If you have any new idea to use such a product let me know.

.

P#89697 2021-03-28 17:08
View Older Posts